﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NHibernate;
using CRC.GestionSalones.Dominio.Clases;

namespace CRC.GestionSalones.Controladores
{
    class ControladorNuevoSuperintendenteCircuito
    {
        public int nuevoSuperintendente(
            String pStrNombre,
            String pStrApellido1,
            String pStrApellido2,
            String pStrMovil,
            String pStrFijo,
            String pStrEmail)
        {
            ISession session = null;
            ITransaction tx = null;

            try 
            {
                session = NHibernate.NHibernateHelper.GetCurrentSession();
                tx = session.BeginTransaction();

                TipoPersona tipoSupCircuito = (TipoPersona)session.Get(typeof(TipoPersona), 3);
                Persona super = new Persona(
                    pStrNombre, 
                    pStrApellido1, 
                    pStrApellido2, 
                    pStrFijo, 
                    pStrMovil, 
                    null,
                    pStrEmail, 
                    tipoSupCircuito
                );

                session.Save(super);
                tx.Commit();
                return super.Id;
            }
            catch(HibernateException he)
            {
                if (tx != null)
                {
                    tx.Rollback();
                    session.Close();
                }
                throw he;
            }
        }
    }
}
